blackboard architecture

Terms from Artificial Intelligence: humans at the heart of algorithms

Blackboard architectures are used in agent-based AI systems to share information between agents. The blackboard is a shared information structure avaiable to all the agents. Each agent monitors the blackboard and when it spots something it knows how to work with takes the element, processs it and then posts its results back onto the blackboard in the hope that another agent will pick it up.

As an example, consider a maths-solving AI system. There is one agent (call it A) that knows about basic adding up, another (call it B) that knows how to group things into brackets, one (call it S) that can swop sides, another (M) that can multiply/divide sides by the same thing, and others still for other kinds of manipulation. Initially the blackbaord has the equation "3x = x+6". When agent A looks at it, it can only do number arithmetic, similarly B can do nothing, but agent S can process it and posts back "3x – x = 6". At this point B kicks in and posts back "(3–1)x = 6". A now has some basic arithmatic so posts back "2x = 6", M sees it and posts "x = 6/2", finally agent A posts "x = 3", the solution.

In practice agent architectures will have various mechenisms to make this process more efficient such as ways for an agent to register patterns that are of interest to avoid constant polling of the blackboard; there may also be some sort of coordinating agent, that helps to prioritise the other agents.

Used in Chap. 16: pages 243, 244, 245

Blackboard architecture.